package com.dididoctor.doctor.Activity.Main.Message;

import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.view.View;
import android.view.WindowManager;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

import com.dididoctor.doctor.Activity.ConstantValue;
import com.dididoctor.doctor.Activity.PatientDetial.PatientDetialTHActivity;
import com.dididoctor.doctor.Activity.Usercentre.Approve.ApproveActivity;
import com.dididoctor.doctor.Activity.Usercentre.Authentication.AuthenticationActivity;
import com.dididoctor.doctor.Activity.Usercentre.MyPurse.MyPurseActivity;
import com.dididoctor.doctor.Activity.Welcome.WelcomeDialog;
import com.dididoctor.doctor.Activity.mvp.MainActivity;
import com.dididoctor.doctor.Bean.Token;
import com.dididoctor.doctor.Http.MyHttpResponseHandler;
import com.dididoctor.doctor.MV.BusinessClient;
import com.dididoctor.doctor.MV.FastHttpResponseHandler;
import com.dididoctor.doctor.MV.Response;
import com.dididoctor.doctor.MV.adapter.CommonAdapter;
import com.dididoctor.doctor.MV.adapter.ViewHolder;
import com.dididoctor.doctor.R;
import com.dididoctor.doctor.Utils.Util;
import com.loopj.android.http.RequestParams;

import org.apache.http.Header;

import java.util.List;
import java.util.Map;

/**
 * @version 2.0
 * @类描述：
 * @项目名称：ddgh
 * @类名称： OrderAdapter
 * @包名称： com.dididoctor.doctor.Activity.Order
 * @创建人： zhanjunjie
 * @创建时间：2016/4/20 18:43
 * @修改人：
 * @修改时间：2016/4/20 18:43
 * @修改备注： new parent class(用一句话描述修改了什么)
 */
public class MessageAdapter extends CommonAdapter<MessageBean> {

    private TextView mTvContent, mTvMessageTime;
    private List<MessageBean> datas;
    private TextView mTvLookDetail;
    private String isPass = "";
    private toApprevoClick click;

    public MessageAdapter(Context context, List<MessageBean> datas, toApprevoClick click) {
        super(context, datas, R.layout.item_message);
        this.context = context;
        this.datas = datas;
        this.click = click;
    }

    @Override
    public void convert(int position, ViewHolder helper, final MessageBean item) {
        //内容
        mTvContent = helper.getView(R.id.tv_content);
        mTvContent.setText(item.getContents());
        //时间
        mTvMessageTime = helper.getView(R.id.tv_message_time);
        mTvMessageTime.setText(item.getStartTime());

        mTvLookDetail = helper.getView(R.id.tv_look_detail);
        if (!"".equals(item.getType()) && item.getType() != null) {
            mTvLookDetail.setVisibility(View.VISIBLE);
        } else {
            if (!"".equals(item.getWebUrl()) && item.getWebUrl() != null) {
                mTvLookDetail.setVisibility(View.VISIBLE);
            } else {
                mTvLookDetail.setVisibility(View.GONE);
            }

        }

        helper.getConvertView().setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if ("1".equals(item.getType())) {
//                                    1.签约:
//                                    内容:用户XXX在刚刚签约您为他的家庭医生了，快去看看吧
//                                    点击:跳转到签约患者列表界面
                    Intent intent1 = new Intent(context, MainActivity.class);
                    intent1.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                    intent1.putExtra("CurrentTab", 2);
                    context.startActivity(intent1);
                } else if ("2".equals(item.getType())) {
//                                    2.电话咨询过期/图文咨询过期剩余30分钟时
//                                    内容:您有一个关于电话咨询/图文咨询订单即将过期，快去看看吧
//                                    点击:订单详情界面
                    Intent intent2 = new Intent(context, PatientDetialTHActivity.class);
                    intent2.putExtra("clientId", item.getClientId());
                    intent2.putExtra("status", item.getStatus());
                    intent2.putExtra("isSign", item.getIsSign());
                    intent2.putExtra("accId", item.getAccId());
                    intent2.putExtra("isCallorpictury", item.getOrderType());
                    intent2.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                    context.startActivity(intent2);
                } else if ("3".equals(item.getType())) {
//                                    3.认证通过/失败
//                                    3-通过，4-未通过

                    Intent intent3 = null;
//                                    是否认证1-未认证2-申请认证3-认证成功4-认证失败
                    String isPass = item.getIsPass();
                    if ("3".equals(isPass)) {
//                                        通过内容：恭喜您在滴滴医生平台认证成功，您可以在平台进行更多的操作了，快去看看吧
//                                        通过点击：首页
                        intent3 = new Intent(context, MainActivity.class);
                        intent3.putExtra("CurrentTab", 0);
                        Token.setIsPass("3");
                        intent3.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                        context.startActivity(intent3);
                    } else if ("4".equals(isPass)) {
//                                        失败内容:很抱歉，你没有通过滴滴医生的认证，可能是填写的信息有问题，快去查看吧
//                                        失败点击:个人中心平台认证界面
                        //回调到Activity界面处理
                        click.toApprevo();
                    }

                } else if ("4".equals(item.getType())) {
//                                    4.完成订单
//                                    内容:您于4月21日 18:24处理的订单已经结束，您的账户余额已经发生变动，快去查看吧
//                                    点击:我的钱包
                    Intent intent4 = new Intent(context, MyPurseActivity.class);
                    intent4.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                    context.startActivity(intent4);
                } else if ("7".equals(item.getType())) {
//                                5.当患者向医生发起咨询申请的时候
//                                    患者端向医生提交订单的时候，医生需要接受到通知用户XXX向您发送了图文咨询申请，电话预约申请，点击跳转到对应订单详情界面
                    Intent intent7 = new Intent(context, PatientDetialTHActivity.class);
                    intent7.putExtra("clientId", item.getClientId());
                    intent7.putExtra("status", item.getStatus());
                    intent7.putExtra("isSign", item.getIsSign());
                    intent7.putExtra("accId", item.getAccId());
                    intent7.putExtra("isCallorpictury", item.getOrderType());
                    intent7.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                    context.startActivity(intent7);
                } else if ("8".equals(item.getType())) {
//                                    6.医生已经对订单进行处理但是 当订单结束时尚未下达诊疗建议
//                                    用户XXX于2016-2-4 12:00向您发起的图文咨询/预约电话订单已经完结，您还没有给他下达诊断建议，只有下达诊断建议您才可以获得诊费 点击跳入该订单的订单详情界面
                    Intent intent8 = new Intent(context, PatientDetialTHActivity.class);
                    intent8.putExtra("clientId", item.getClientId());
                    intent8.putExtra("status", item.getStatus());
                    intent8.putExtra("isSign", item.getIsSign());
                    intent8.putExtra("accId", item.getAccId());
                    intent8.putExtra("isCallorpictury", item.getOrderType());
                    intent8.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                    context.startActivity(intent8);
                } else if ("9".equals(item.getType())) {
                    WelcomeDialog wd = new WelcomeDialog(context, item.getContents(), item.getTitle());
//                    wd.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);  //窗口可以获得焦点，响应操作
                    wd.show();

                } else {
                    if (!"".equals(item.getWebUrl()) && item.getWebUrl() != null) {
                        Intent intent = new Intent(context, MessageDetailActivity.class);
                        intent.putExtra("webUrl", item.getWebUrl());
                        context.startActivity(intent);
                    }
                }

            }
        });
    }



    public interface toApprevoClick {
        void toApprevo();
    }
}
